home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / MacApp Documentation / MacApp AppleLink Messages / MacApp.Tech$ Sep 89 / Y0006-Re MacApp Memory ma-Aug89 < prev    next >
Encoding:
Text File  |  1989-09-01  |  1.8 KB  |  42 lines  |  [TEXT/GEOL]

  1. Item    2737470                         31-Aug-89        15:22
  2.  
  3. From:   BIANCHI1                        Bianchi, Curt,APL
  4.  
  5. To:     SW0075                          SWV VTS Transportation Systems, GBG
  6.  
  7. cc:     MACAPP.TECH$                    MACAPP Tech
  8.  
  9. Sub:    Re: MacApp Memory management
  10.  
  11. Bo and Dan,
  12.  
  13. In MacApp, the terms "temporary" and "permanent" refer to memory requests, not
  14. to different parts of the memory space.  It has nothing to do with the location
  15. of objects within the heap.  There isn't a temporary space and a permanent
  16. space.  MacApp does not divide the heap into two pieces.  There's just one big
  17. heap.
  18.  
  19. The difference between a temporary request (e.g., code) and a permanent one
  20. (e.g., your data) lies in how MacApp's GrowZone function works.  When the heap
  21. is so full that a request cannot be satisfied, the Memory Manager calls
  22. MacApp's GrowZone function.  MacApp keeps a list of handles that it can purge
  23. from memory on temporary requests, but cannot be purged on a permanent request.
  24. In addition, a handle is allocated to reserve space in the heap for future
  25. temporary requests.  The idea is to ensure that there is always enough space in
  26. the heap to satisfy a temporary (e.g., code) request.
  27.  
  28. The net effect is that MacApp can control which requests succeed and which ones
  29. fail.  Hopefully there is always enough space reserved so that any temporary
  30. request will succeed.  This is the purpose of the 'seg!' and 'mem!' resources.
  31. As the heap fills up, permanent requests will eventually fail while temporary
  32. requests continue to work.  This is because MacApp has reserved space for the
  33. temporary requests, and its GrowZone function only frees the space on temporary
  34. requests and not on permanent ones.
  35.  
  36. So, moving handles high and locking them doesn't affect temporary and permanent
  37. memory requests.  Hope this helps.
  38.  
  39. Curt Bianchi
  40. Apple Computer
  41.  
  42.